﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace testDecorator
{
    public abstract class Beverage
    {
        protected string m_strDescription = "Unknown Beverage";

        public string GetDescription()
        {
            return m_strDescription;
        }

        // 由子类实现
        public abstract double cost();
    }

    // 让Condiment Decorator能够取代Beverage，所以将Condiment Decorator扩展自Beverage类
    public abstract class CondimentDecorator : Beverage 
    {
        // 所有的调料装饰者都必须重新实现GetDescription方法
        public new abstract string GetDescription();
    }
}
